package pe.edu.upc.dsd.agencianavieraweb.controller;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.servlet.ModelAndView;

import pe.edu.upc.dsd.agencianavieraweb.model.Cliente;
import pe.edu.upc.dsd.agencianavieraweb.model.Embarque;
import pe.edu.upc.dsd.agencianavieraweb.model.Respuesta;
import pe.edu.upc.dsd.agencianavierawssoap.service.ClienteService;
import pe.edu.upc.dsd.agencianavierawssoap.service.EmbarqueService;

@Controller
@RequestMapping("/addEmbarque")
public class EmbarqueController {
	
	private Logger logger = Logger.getLogger(EmbarqueController.class);
	
	@Autowired
	private EmbarqueService embarqueService;
	
	@RequestMapping(method = RequestMethod.GET)
	public String initForm(ModelMap model){
 
		logger.debug("Ingresando al formulario registrar Embarque " );
	
		Embarque embarque = new Embarque();
		
		//command object
		model.addAttribute("embarque", embarque);
 
		//return form view
		return "registrarEmbarque";
	}
	
	@RequestMapping(method = RequestMethod.POST)
	public String processSubmit(
		@ModelAttribute("embarque") Embarque embarque,
		BindingResult result, SessionStatus status,Model model) {
 
		//clear the command object from the session
		status.setComplete(); 
		
		logger.debug("Ingresando a registrar Embarque " + embarque.getCodigo());
		
		Respuesta respuesta = embarqueService.registrarEmbarque(embarque);
		
		logger.debug(respuesta.getMensaje());
		
		model.addAttribute("mensaje",respuesta.getMensaje());
 
		//return form success view
		return "registrarEmbarqueRespuesta";
	}

	
	
	
		//String message = clienteService.registrarCliente(cliente).toString();
		
		//logger.debug(message);
		
		/*
		 * Cliente cliente = new Cliente(); cliente.setApellido("Cabanillas");
		 * cliente.setNombre("Jossymar"); cliente.setTipoDocumento("DNI");
		 * cliente.setNumeroDocumento("44261461");
		 * cliente.setRazonSocial("Transmeridian SAC");
		 * cliente.setRuc("20144414111");
		 * 
		 * Respuesta respuesta = clienteService.registrarCliente(cliente);
		 * System.out.println("Respuesta:" + respuesta.getMensaje());
		 */
		/*return "redirect:cliente";
		//return new ModelAndView("registrarCliente","command",new Cliente());
	}
	
	@RequestMapping("/cliente")
    public ModelAndView showContacts() {
 
        return new ModelAndView("registrarCliente", "command", new Cliente());
    }*/

}
